﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SaveFileUseCase.cs" company="">
//   
// </copyright>
// <summary>
//   The save file use case.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Libium.UseCases
{
    using Libium.Core;

    /// <summary>
    ///   The save file use case.
    /// </summary>
    public class SaveFileUseCase : UseCase, ISaveFileUseCase
    {
        #region Constructors and Destructors

        /// <summary>
        /// Initializes a new instance of the <see cref="SaveFileUseCase"/> class.
        /// </summary>
        /// <param name="parent">
        /// The parent. 
        /// </param>
        /// <param name="service">
        /// The service. 
        /// </param>
        public SaveFileUseCase(ICompoundUseCase parent, IUseCaseInstanceService service)
            : base(parent, service)
        {
        }

        #endregion

        #region Public Properties

        /// <summary>
        ///   Gets or sets the file name.
        /// </summary>
        public string FileName { get; set; }

        /// <summary>
        ///   Gets or sets the file path.
        /// </summary>
        public string FilePath { get; set; }

        /// <summary>
        ///   Gets or sets the filter index.
        /// </summary>
        public int FilterIndex { get; set; }

        /// <summary>
        ///   Gets or sets the filters.
        /// </summary>
        public FileFilter[] Filters { get; set; }

        /// <summary>
        ///   Gets or sets the initial directory path.
        /// </summary>
        public string InitialDirectoryPath { get; set; }

        #endregion
    }
}